#include<cstdio>
#include<cstring>
using namespace std;
int a[120010], c[100010];
// c[i]代表 i大于a数组中元素的个数 

int lowbit(int x) {return x&-x;}
void update(int x) {
	while(x <= 100010) {
		c[x]++;
		x += lowbit(x);
	}
}
int sum(int x) {
	int res = 0;
	while(x > 0) {
		res += c[x];
		x -= lowbit(x);
	}
	return res;
}

int main() {
	int n;
	long long ans = 0;
	memset(a, 0, sizeof(a));
	memset(c, 0, sizeof(c));
	scanf("%d", &n);
	for(int i=1; i<=n; i++)	scanf("%d", &a[i]), a[i]++;
//	a[i]++ 是将a数组平移至1的后面，因为树状数组无法处理非正数范围 
	for(int i=n; i>=1; i--) {
		ans += sum(a[i]-1);
		update(a[i]);
	}
	printf("%lld\n", ans);
	return 0;
}